package com.fuyin.service;

import com.fuyin.entity.Resource;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @program: pond-helper
 * @description: 后台资源管理服务类
 * @author: handsome
 * @create: 2020-09-07
 **/
public interface ResourceService {

    /**
     * 添加资源
     *
     * @param tResource
     * @return
     */
    int create(Resource tResource);

    /**
     * 修改资源
     *
     * @param tResource
     * @return
     */
    int update(Long id, Resource tResource);

    /**
     * 根据id获取资源详情
     *
     * @param id
     * @return
     */
    Resource getResource(Long id);

    /**
     * 根据id删除指定资源
     *
     * @param id
     * @return
     */
    int delete(Long id);

    /**
     * 分页查询资源
     *
     * @param categoryId  资源分类id(可空)
     * @param nameKeyWord 名称(可空)
     * @param urlKeyWord  url(可空)
     * @param pageSize    一页几条
     * @param pageNum     第几页
     * @return
     */
    PageInfo list(Long categoryId, String nameKeyWord, String urlKeyWord, Integer pageSize, Integer pageNum);

    /**
     * 查询所有资源
     *
     * @return
     */
    List<Resource> listAll();

    /**
     * 分页查询资源详情
     *
     * @param categoryId  资源分类id(可空)
     * @param nameKeyWord 名称(可空)
     * @param urlKeyWord  url(可空)
     * @param pageSize    一页几条
     * @param pageNum     第几页
     * @return
     */
    PageInfo listResourceDetails(Long categoryId, String nameKeyWord, String urlKeyWord, Integer pageSize, Integer pageNum);

}
